/*=============================================================================
# FileName    :	axi4_bfm.svh
# Author      :	author
# Email       :	email@email.com
# Description :	
                // x 表示 axi4-lite不支持此信号
# Version     :	1.0
# LastChange  :	2018-04-05 18:26:40
# ChangeLog   :	
=============================================================================*/
//interface axi4_bfm #
//(
    //S_AXI_ADDR_WIDTH = 32
//);

interface axi4_bfm;
    logic                               s_aclk;
    logic                               s_aresetn;

    logic   [01:00]                     s_axi_awlock;       // x
    logic   [03:00]                     s_axi_awcache;      // x
    logic   [02:00]                     s_axi_awprot;       // x
    logic   [03:00]                     s_axi_awid;         // x
    logic   [07:00]                     s_axi_awlen;        // x
    logic   [02:00]                     s_axi_awsize;       // x
    logic   [01:00]                     s_axi_awburst;      // x

    logic   [31:00]                     s_axi_awaddr;
    logic                               s_axi_awvalid;
    logic                               s_axi_awready;

    logic   [03:00]                     s_axi_wid;          // x
    logic   [31:00]                     s_axi_wdata;
    logic   [03:00]                     s_axi_wstrb;
    logic                               s_axi_wvalid;
    logic                               s_axi_wready;
    logic                               s_axi_wlast;        // x

    logic   [03:00]                     s_axi_bid;          // x
    logic   [01:00]                     s_axi_bresp;
    logic                               s_axi_bvalid;
    logic                               s_axi_bready;

    logic   [01:00]                     s_axi_arlock;       // x
    logic   [03:00]                     s_axi_arcache;      // x
    logic   [02:00]                     s_axi_arprot;       // x
    logic   [03:00]                     s_axi_arid;         // x
    logic   [07:00]                     s_axi_arlen;        // x
    logic   [02:00]                     s_axi_arsize;       // x
    logic   [01:00]                     s_axi_arburst;      // x
    logic   [31:00]                     s_axi_araddr;
    logic                               s_axi_arvalid;
    logic                               s_axi_arready;

    logic   [03:00]                     s_axi_rid;          // x
    logic   [01:00]                     s_axi_rresp;
    logic   [31:00]                     s_axi_rdata;
    logic                               s_axi_rvalid;
    logic                               s_axi_rready;
    logic                               s_axi_rlast;        // x

    initial
    begin
        s_aresetn = 1; #100ns;
        s_aresetn = 0; # 1us;
        s_aresetn = 1;
    end
    initial
    begin
        s_aclk = 0;
        forever
        begin
            #(1s/100_000_000/2) s_aclk = ~s_aclk;
        end
    end
endinterface: axi4_bfm
